Neighbor Discovery (ND) is a protocol currently being deployed in the Internet Protocol (IP) version 6, abbreviated here as IPv6. It is possible that subsequent versions of IP as well as other communications protocols may use similar protocols, all of which will be referred to here as neighbor discovery. The Neighbor Discovery protocol is specified in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 2462 and RFC 4862, and concepts disclosed here, while discussed with regard to IPv6, may be applicable to other protocols.
Hosts, routers and other network devices using IPv6 use the Neighbor Discovery protocol messages for several purposes. A host may use neighbor discovery to identify the hardware address associated with an IP address, and perform duplicate address detection (DAD) when employing stateless address autoconfiguration per RFC 2462 or RFC 4862. A host may use neighbor discovery to locate a network device such as a router. The network device will forward datagrams for the host. A network device such as a router may use neighbor discovery to identify itself to hosts on a link, and announce prefixes available on a link for hosts employing stateless address autoconfiguration. Datagrams, as that term is used here, are the ‘bundles’ of data employed to transmit data across the network, such as IP packets, Asynchronous Transfer Mode (ATM) cells, and Frame Relay (FR) frames.
Neighbor discovery messages are transmitted on a regular basis by both hosts and network devices. The neighbor discovery traffic on a link increases as the number of hosts on the link increases, and can represent a significant fraction of the total traffic on a link. Neighbor discovery messages are often sent to a multicast address, so that those messages are delivered to all of the hosts on a link and are individually processed by each host on a link.
When IPv6 is deployed by a service provider to customers over a cable medium, the network is often constructed so all of the “customer devices”, or hosts, are connected to a single “network device”, which forwards datagrams sent from customer devices. For example, customer premises equipment (CPE) devices (customer devices) are attached to the same cable modem termination system CMTS device (network device). The customer devices may be either cable modems (CMs) or home computers (PCs).
The upstream and downstream connectivity between the network device and the customer devices is asymmetric. In the downstream direction, from network device to customer device, the physical link is shared by all the customer devices. Hence they appear to be connected to the same link.
In the upstream direction, i.e., customer device to network device, the link is not shared; each device has its own unidirectional physical link to the network device. Hence, data sent by one device is not visible to the other devices. There are sometimes as many as 50,000 customer devices connected to a single network device. All of these devices generate neighbor discovery messages which are sent to various multicast addresses on the link, generating significant overhead on the link and causing significant processing overhead on the other customer devices receiving the neighbor discovery messages. The disclosure that follows solves this and other problems.